1. Technical Field
The present invention relates in general to techniques for ensuring the security of data transmitted over insecure communication channels, and in particular relates to techniques for ensuring entity authentication in a multi-party communication scenario.
2. Description of the Related Art
With the increased utilization of distributed data processing systems to share and communicate sensitive and confidential information, the computing and relating industries are paying significantly increased attention to improving and refining known techniques for securing data which is communicated over insecure communication channels such as telephone lines and electromagnetic-based communication systems such as cellular networks.
Three long standing industry goals exist. First, it is important that the particular communication partners in a distributed data processing system be able to authenticate the identity of other communication partners within the distributed data processing system. Commonly:, this entity authentication requirement is met by depositing a long-lived and shared secret key at two or more communication nodes in the data processing system or telecommunications network. For example, in a computing environment, a user may possess a secret password which is also known by a host computer within the data processing system. When authentication is desired, a protocol is executed which, based on this shared secret, serves to authenticate one party to the other, or each party to the other. For example, the long-lived and shared secret key can be utilized in a conventional encryption operation such as a DES encryption. Most commonly, the communication partner desiring authentication of another partner directs a "challenge" to the other partner which is in the form of a random bit stream. The partner for which authentication is sought typically performs an encryption operation upon the challenge bit stream utilizing the long-lived and shared secret key, and then passes this data back to the challenging party. This data is decrypted to determine whether the responding party has possession or knowledge of the long-lived and shared secret key, or the challenger utilizes an encryption engine to generate the response he or she is seeking, and then compares the response to the correct answer. This operation may be performed unilaterally or bilaterally. In a unilateral operation, one party obtains authentication of the identity of another party within the distributed data processing system. In a bilateral entity authentication procedure, both parties typically issue a "challenge" to the other party, which must be responded to properly before communication can be allowed between the communication nodes.
The second broad goal of the industry is to provide techniques for generating and distributing short-lived and secret session keys which are shared by two or more communication partners after authentication of the various communication partners has been obtained. In accordance with the present invention, the distribution of the short-lived and secret session key is tightly coupled with the entity authentication operations. The utilization of a session key ensures that the long-lived and shared secret key need not be used more often than is absolutely necessary, and it is further useful to guard against "replay attacks" across the communication sessions which communicating partners may engage in. Typically, the long-lived and shared secret key is utilized only during entity authentication operations. Immediately after authentication of the communicating parties is obtained, the short-lived and secret session key is distributed and utilized to allow communication back and forth between the parties in that particular session, to be authenticated, encrypted, or both.
The third broad industry goal is that of assuring a communicating party which has received data over an insecure communication channel that the data has not been modified in transit. Often, such message authentication is achieved by having the originating party compute a short "authentication tag" as a function of the message being transmitted and the secret key shared by the communicating partners. This authentication tag is typically appended to the data stream which is being communicated between the parties. Upon receipt of the data stream and authentication tag, the receiving party analyzes the authentication tag by performing the same operations which were performed upon the data set by the sending party to generate its own authentication tag. If the sender's authentication tag matches identically the receiver's authenticated tag, then the recipient of the data can be assured that the data has not been altered in any way. This type of protection prevents an active adversary from entering the insecure communication channel and meddling with the data.
In devising security systems for allowing secure communication between communication partners, it is generally assumed that an adversary may be (1) passive and perform eavesdropping operations to monitor and record all communications between the parties in the distributed data processing system, or (2) active and actually participate in communications within the distributed data processing system by requesting access to data or resources and issuing or responding to authentication challenges. The capabilities of an active adversary are taken to include all those of a passive one.